package edu.hubu.javaweb01demo.util;

import edu.hubu.javaweb01demo.util.JdbcUtil;
import edu.hubu.javaweb01demo.entity.Users;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class DBHelper {
	private static Connection conn = null;
	private static PreparedStatement ps = null;
	private static ResultSet rs = null;

	public static void setConn(Connection conn) {
		DBHelper.conn = conn;
	}

	public static void setPs(PreparedStatement ps) {
		DBHelper.ps = ps;
	}

	public static Connection getConn() {
		return conn;
	}

	public static PreparedStatement getPs() {
		return ps;
	}

	public static int executeUpdate(String sql, Object[] params){
		conn = JdbcUtil.getConnection();

		int res=-1;
		try {
			if(params!=null&&params.length>0){
				ps = conn.prepareStatement(sql);

				for(int i =0 ;i<params.length;i++){
					ps.setObject(i+1,params[i]);//给？赋值
				}
			}
			res = ps.executeUpdate();//该方法是jdk的方法
			JdbcUtil.release(conn,ps,null);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return res;

	}
	public static ResultSet executeQuery(String sql,Object[] params) {
		conn = JdbcUtil.getConnection();

		try {
			ps = conn.prepareStatement(sql);
			//给？赋值
			if(params!=null&&params.length>0){
				for(int i =0 ;i<params.length;i++){
					ps.setObject(i+1,params[i]);
				}}
			rs = ps.executeQuery();//该方法是jdk的方法
//            JdbcUtil.release(conn,ps,rs);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return rs;
	}

//    public static ArrayList<Object> executeQuery2(String sql,Object[] params) {
//
//    }
//    static String sql="select * from users";
//    static  Object[] params=null;
//    public static void  main(String[] args){
//        conn = JdbcUtil.getConnection();
//        try {
//            ps = conn.prepareStatement(sql);
//            //给？赋值
//            for(int i =0 ;i<params.length;i++){
//                ps.setObject(i+1,params[i]);
//            }
//            rs = ps.executeQuery();//该方法是jdk的方法
////            JdbcUtil.release(conn,ps,rs);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        try {
//        ResultSet res = rs;
//        ArrayList<Users> usersArrayList=null;
//        int i=0;
//        if(res.next()){
//            usersArrayList=new ArrayList<Users>();
//            do  {
//                Users user=new Users();
//                user.setId(res.getInt("id"));
//                user.setName(res.getString("name"));
//                user.setNickname(res.getString("nickname"));
//                user.setPwd(res.getString("pwd"));
//                user.setGender(res.getString("gender")) ;
//                user.setBirthday(res.getDate("birthday"));
//                user.setHobby(res.getString("hobby"));
//                user.setTel(res.getString("tel"));
//                user.setEmail(res.getString("email"));
//                user.setDescription(res.getString("description"));
//                user.setGrade(res.getInt("grade"));
//                i++;
//                System.out.println(i);
//                usersArrayList.add(user);
//            }while(res.next());
//        }
//        // 6.关闭资源
//        JdbcUtil.release(DBHelper.getConn(), DBHelper.getPs(), res);
//    } catch (Exception e) {
//        e.printStackTrace();
//    }
//    }
}
